<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>编辑分类</title>
    <link rel="stylesheet" href="/layui/css/layui.css">
    <script src="/layui/layui.js"></script>
</head>
<body>

<!--<blockquote class="layui-elem-quote">添加分类</blockquote>-->

<!--添加表单-->
<form class="layui-form">
    <div class="layui-form-item">
        <label class="layui-form-label">分类名</label>
        <div class="layui-input-inline">
            <input class="layui-input" type="text" name="name" required placeholder="请输入分类名">
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">父分类</label>
        <div class="layui-input-inline">
            <select name="parentId"></select>
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">主页推荐</label>
        <div class="layui-input-inline">
            <input type="radio" name="recom" value="0" title="不推荐" checked>
            <input type="radio" name="recom" value="1" title="推荐">
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">分类描述</label>
        <div class="layui-input-inline">
            <textarea name="dscp" placeholder="请输入分类的描述" class="layui-textarea"></textarea>
        </div>
    </div>

    <div class="layui-form-item">
        <label class="layui-form-label">图片</label>
        <div class="layui-input-inline">
            <!--使用图片上传插件-->
            <div class="layui-upload">
                <button type="button" class="layui-btn" id="test1">上传图片</button>
                <div class="layui-upload-list">
                    <img class="layui-upload-img" id="demo1" style="width: 92px; height: 92px">
                    <p id="demoText"></p>
                </div>
                <div style="width: 95px;">
                    <div class="layui-progress layui-progress-big" lay-showpercent="yes" lay-filter="demo">
                        <div class="layui-progress-bar" lay-percent=""></div>
                    </div>
                </div>
            </div>

            <a name="list-progress"> </a>
        </div>
    </div>

    <!--上架下架的操作-->
    <div class="layui-form-item">
        <label class="layui-form-label">状态</label>
        <div class="layui-input-inline">
            <input type="radio" name="status" value="0" title="上架">
            <input type="radio" name="status" value="1" title="下架">
        </div>

    </div>

    <div class="layui-form-item">
        <div class="layui-input-block">
            <!--添加隐藏域，图片名pic-->
            <input type="hidden" name="pic">

            <input type="hidden" name="id">
            <button type="submit" lay-submit lay-filter="category-edit"
                    class="layui-btn">提交</button>
        </div>
    </div>



</form>

<script>
    // 使用layui的form组件
    layui.use(['form', 'upload', 'element'], function (){
        var form = layui.form,
            upload = layui.upload,
            element = layui.element,
            $ = layui.$;
        //取出要编辑的分类信息
        var  category=JSON.parse(sessionStorage.getItem('category-edit'));
        //分类名

        $('input[name="name"]').val(category.name);
        //推荐
        $('input[name="recom"][value="'+category.recom+'"]').attr('checked','checked');
        //描述
        $('textarea[name="dscp"]').val(category.dscp);
        //图片
        if (category.pic){
            $('#demo1').attr('src','/upload/'+category.pic);
        }
        //状态
        $('input[name="status"][value="'+category.status+'"]').attr('checked','checked');
        //id
        $('input[name="id"]').val(category.id);
        // ajax请求，请求分类中 parentId = 0的分类，并在select下拉框中进行渲染
        $.ajax({
            url: '/api/category',
            data: {parentId: 0},
            type: 'get',
            dataType: 'json',
            success: function (result) {
                var html = '<option value="">请选择父分类</option>';
                $.each(result.data, function (index, item){
                    if (category.parentId==item.id){
                        html += '<option value="' + item.id + '" selected> ' + item.name + '</option>'
                    }else {
                        html += '<option value="' + item.id + '"> ' + item.name + '</option>'
                    }

                });
                $('select[name="parentId"]').html(html);

                // 渲染一次表格
                form.render();
            },
            error: function () {
                layui.msg("请求失败");
            }
        });

        // 渲染表单
        form.render();


        //常规使用 - 普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            ,url: '/api/upload' //此处用的是第三方的 http 请求演示，实际使用时改成您自己的上传接口即可。
            ,before: function(obj){
                //预读本地文件示例，不支持ie8
                obj.preview(function(index, file, result){
                    $('#demo1').attr('src', result); //图片链接（base64）
                });

                element.progress('demo', '0%'); //进度条复位
                layer.msg('上传中', {icon: 16, time: 0});
            }
            ,done: function(res){
                //如果上传失败
                if(res.code < 0){
                    return layer.msg('上传失败');
                }
                //上传成功的一些操作
                // 获取上传成功的文件名,放到隐藏域中
                $('input[name="pic"]').val(res.data);
                res.data;
                //……
                $('#demoText').html(''); //置空上传失败的状态
            }
            ,error: function(){
                //演示失败状态，并实现重传
                var demoText = $('#demoText');
                demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
                demoText.find('.demo-reload').on('click', function(){
                    uploadInst.upload();
                });
            }
            //进度条
            ,progress: function(n, elem, e){
                element.progress('demo', n + '%'); //可配合 layui 进度条元素使用
                if(n == 100){
                    layer.msg('上传完毕', {icon: 1});
                }
            }
        });

        // 表单的提交
        // submit(过滤器 lay-filter)
        // data表示前面整个表单
        form.on('submit(category-edit)', function (data){
            // 使用ajax将表单数据，提交至服务器
            $.ajax({
                url: '/api/category',
                // 将表单数据转换为json格式
                data: JSON.stringify(data.field),
                // 将内容传送方式变为json方式
                contentType: 'application/json; charset=utf-8',
                type: 'put',
                dataType: 'json',
                success: function (result) {
                    if (result.code == 0) {
                        parent.layer.msg("修改成功");
                        //关闭弹窗窗口
                        parent.layer.closeAll('iframe');
/*                        //刷新父窗口表格
                        parent.table.reload('cate')*/
                    } else {
                        // 弹出添加失败的信息
                        layer.msg(result.msg);
                    }
                },
                error: function () {
                    layer.msg("请求失败");
                }

            });

            // 阻止表单的自动提交，防止页面跳转
            return false;
        });
    });



</script>

</body>
</html>